package com.sunyur.tailor.channel.service.inner.purchase.service;

import com.sunyur.tailor.channel.common.middle.base.ChannelResult;
import com.sunyur.tailor.channel.service.inner.purchase.model.PurchaseApplyCreateByOutsideModel;
import com.sunyur.tailor.channel.service.inner.purchase.param.PurchaseApplyCreateByOutsideParam;
import com.sunyur.tailor.channel.service.inner.purchase.param.PurchaseApplyExternalProcessParam;
import com.sunyur.tailor.channel.service.inner.purchase.param.PurchaseApplyRollBackStatusParam;

/**
 * @Author: HuBaoding
 * @Description: 请购单外部处理 service
 * @Date: Created in 10:00 2021/5/14
 */
public interface SunyurPurchaseApplyOutsideService {

    /**
     * 请购单外部处理
     * @param param
     * @return
     */
    ChannelResult<Boolean> externalProcess(PurchaseApplyExternalProcessParam param);

    /**
     * 请购单外部创建
     * @param param
     * @return
     */
    ChannelResult<PurchaseApplyCreateByOutsideModel> createApplyByOutside(PurchaseApplyCreateByOutsideParam param);


    /**
     * 请购单状态回滚
     * @param param
     * @return
     */
    ChannelResult<Boolean> rollBackStatus(PurchaseApplyRollBackStatusParam param);
}
